package com.Algorithm.kmp;

/**
 * @author shkstart
 * @create 2021-08-18 23:42
 */
public class ViolenceMatch {
    public static void main(String[] args) {
        //测试暴力匹配算法
        String str1 = "硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好";
        String str2 = "尚硅谷你尚硅你1";
        int index = violenceMatch(str1, str2);
        System.out.println("index=" + index);

    }
    //暴露匹配算法
    public static int violenceMatch(String str1,String str2){
        //将字符串转为字符数组
        char[] s1 = str1.toCharArray();
        char[] s2 = str2.toCharArray();
        //计算字符数组的长度
        int s1len=s1.length;
        int s2len=s2.length;
        //两个数组的索引
        int i=0;
        int j=0;
        //一个一个字符的匹配，到了末尾才退出
        while (i<s1len&&j<s2len){
            //如果一个字符匹配，那就往下一个字符
            if (s1[i]==s2[j]){
                i++;
                j++;
            }else {
                //如果中途发现不匹配，那就从刚开始发现匹配的第二个字符开始算起
                i=i-j+1;
                j=0;
            }
        }
        //若是匹配成功,返回对应的索引
        if (j==s2len){
            return i-j;
        }else {
            //否者返回-1
            return -1;
        }
    }
}
